官网介绍
https://facebook.github.io/react/blog/2017/09/26/react-v16.0.html
render函数不必在包一层元素
|
|
更好的错误处理
以前的版本,如果子组件有报错整个组件本身直接不渲染,而现在可以通过componentDidCatch
捕获错误信息:
|
|
Portals
现在可以通过React.createPortal(<SomeComponent/>, document.getElementById('root'))
的形式在react应用容器之外修改或增加DOM:
|
|
这样对于像要创建模态框就很容易了:
|
|
更好的服务端渲染
省略。。。
支持自定义DOM属性
以前是直接忽视无法识别的属性,而现在是直接渲染给DOM,这也直接节省了很多代码。
具体参考:https://facebook.github.io/react/blog/2017/09/08/dom-attributes-in-react-16.html
文件减少
react is 5.3 kb (2.2 kb gzipped), down from 20.7 kb (6.9 kb gzipped).
react-dom is 103.7 kb (32.6 kb gzipped), down from 141 kb (42.9 kb gzipped).
react + react-dom is 109 kb (34.8 kb gzipped), down from 161.7 kb (49.8 kb gzipped).
MIT协议
妥协了…